<template>
    <div class="todo-footer" v-show="AllNumber">
        <label>
            <!-- <input type="checkbox" :checked="isAllDone" @change="checkAllItem"/> -->
            <input type="checkbox" v-model="isAllDone"/>
        </label>
        <span>
            <span>已完成 {{ completedNumber }}</span> / 全部 {{ AllNumber }}
        </span>
        <button class="btn btn-danger" @click="clearAll">清除已完成任务</button>
    </div>
</template>

<script>
    export default {
        name:'MyFooter',
        data(){
          return {
            isDone:false
          }
        },
        props:['todos'],
        computed:{
          completedNumber(){
            return this.todos.reduce((pre,current)=>{            
              // if(current.done == true){
              //   return pre + 1
              // }else{
              //   return pre
              // } 

              // ||
              // ||
              // \/

              return pre + (current.done ? 1:0)   
            },0);
          },
          AllNumber(){
            return this.todos.length
          },
          isAllDone:{
            get(){
              return this.completedNumber === this.AllNumber && this.AllNumber > 0;
            },
            set(value){
              //this.checkAll(value);
              this.$emit('checkAll',value)
            }
            
          },
        },
        methods:{
          // checkAllItem(e){
          //   this.checkAll(e.target.checked);
          // },
          clearAll(){
            // this.clearAllTodo()
            this.$emit('clearAllTodo')
          }
        }
    }
</script>

<style scoped>
  /*footer*/
  .todo-footer {
    height: 40px;
    line-height: 40px;
    padding-left: 6px;
    margin-top: 5px;
  }

  .todo-footer label {
    display: inline-block;
    margin-right: 20px;
    cursor: pointer;
  }

  .todo-footer label input {
    position: relative;
    top: -1px;
    vertical-align: middle;
    margin-right: 5px;
  }

  .todo-footer button {
    float: right;
    margin-top: 5px;
  }
</style>